1. Technical Field
The present invention relates generally to synchronization of control system device clocks through a communication network. More specifically, the present invention relates to accurate Ethernet synchronization of device clocks using IEEE 802.1p protocol.
2. Background of Invention
The Institute for Electrical and Electronic Engineers (IEEE) defines the Ethernet standard as IEEE Standard 802. This standard establishes an Ethernet network configuration guideline and specifies how elements of an Ethernet network interact. Network equipment and protocols can communicate efficiently when adhering to the IEEE standard.
Network protocols are standards that allow devices to communicate. A protocol defines how network devices identify one another. Another protocol defines the format of the transmitted data and how the data gets processed once it reaches its destination. Protocols such as transmission control protocol/internet protocol (TCP/IP) (for UNIX, Windows NT, Windows 95 and other platforms) also define procedures for handling lost or damaged transmissions or “packets”.
Quality of service in the TCP/IP is made up of five layers, i.e. application, transport, network, data, and physical layers. The application layer is for application and user access, authorization, and encryption. The transport layer has TCP rate control and port access control. The network layer balances loads, reserves resources, and contains type of service bits, and path controls. The data link layer is where IEEE802.1p/Q frame prioritization takes place as well as logical port access control. Finally, the physical layer has bit error correction, physical security and port access. Ethernet is a shared media with rules for sending packets of data. These rules protect data integrity and avoid conflicts. Nodes determine when a network allows packets to be sent. In industrial control applications, it is possible for two nodes at different locations to send data concurrently. When both devices transfer a packet to the network concurrently, a collision will result.
Minimizing these collisions in factory automation applications is a critical portion of the design and operation of their networks. An increase of collisions in industrial control environments is frequently caused by increases of control-system devices on the network. This creates contention for network bandwidth and slows network performance.
Network quality of service is important for proper and predictable industrial control system performance. There are a number of factors that may diminish network performance. The first is delay, which is the time a packet takes to go from the sender to the receiver device via the network. Long delays put greater stress on the transport protocol to operate efficiently, particularly motion control, drives and robots applications. Long delays imply large amounts of network data held in transit. Delays affect counters and timers associated with the protocol. In the TCP protocol, the sender's transmission speed is modified to mirror the flow of signal traffic returning from the receiver, via the reply acknowledgments (ACK's) that verify a proper reception. Large delays from senders and receivers make the feedback loop insensitive. Delays result in the protocol becoming insensitive to dramatic short-term differences in industrial control system network load. Delays affecting interactive voice and video applications cause systems to appear unresponsive.
Jitter is another network transit delay. Large amounts of jitter cause the TCP protocol to conservatively estimate the round trip message time. This creates inefficient factory automation protocol operation by requiring timeouts to reestablish the flow of data. A large quantity of jitter in user datagram protocol (UDP) based real time applications such as an audio or video signal is intolerable. Jitter creates distortion in the signal, which then must be cured by enlarging the receiver's reassembly playback queue. The longer queue delays the signal, making interactive communication difficult to maintain, detrimentally for factory automation.
A third network issue is its bandwidth, the maximal industrial control data transfer rate. Bandwidth may be restricted by other traffic that shares common elements of the route as well as the physical infrastructure limitations of the traffic path within the factory automation transit network.
Reliability is yet another industrial control system concern. Network reliability may be measured by the average error rate of the medium. Improperly configured and poorly performing switching systems may change the order of packets transmitted. Packets may be delivered to the receiver in a different order than what was sent. Packets could possibly be dropped while in transient routing loops. Industrial control network transit paths that are not reliable or that are prone to error may also require the lost packets to be sent another time. TCP does not differentiate between messages lost because of packet corruption and messages lost because of network congestion. The sender is subject to the same congestion avoidance behavior responses when packets are lost. The industrial control network reacts by reducing message rates even more and forcing congestion avoidance algorithms despite the fact that no actual congestion was experienced on the network. Poor reliability in voice and video UDP applications causes distortion in the original analog signal at the receiver's end.
Ethernet's general lack of message prioritization and the openness of the TCP/IP protocol may introduce latent performance flaws relating to network traffic. Industrial control network traffic bursts can result in message losses and slow responses caused by non-critical network traffic. Categorizing traffic may be implemented to ensure that critical factory automation traffic will always flow despite the demands of less important applications. The prioritization of industrial control network traffic enables predictable performance for the most critical application traffic.
IEEE802.1p standard defines how network frames are tagged with user priority levels ranging from 7 highest to 0 lowest priority. IEEE802.1p compliant network infrastructure devices, such as switches and routers, prioritize network traffic delivery according to the user priority tag. Higher priority tagged frames are given precedence over lower priority or non-tagged frames. This means that time critical data receives preferential treatment over data that is not considered time critical.
Quality of service mechanisms can be incorporated at any or all of the five layers of the TCP/IP stack and the positioning of the key quality of service mechanisms. Some of these mechanisms are inherent in the protocols rather than being explicitly added on for quality of service control.
Ideally, networks provide services to an unlimited number of users, at any number of locations, without any limitations on what can be transported. Industrial control systems should have well-specified delays in service access or usage, with contained packet loss rates, and without any congestion. The grade of service for a specific traffic flow is decided by the user/system that is generating the flow. Service quality is also influenced by enterprise administrators who control the budget. Network managers in charge of one of the network components are another factor. Even a service provider that supplies the WAN facilities influences service. By defining a small number of classes of service, the network allows for packet differentiation, maintains an acceptable quality of service, and yet still provides the services at reasonable cost and complexity.
Accurate clock synchronization is particularly critical in industrial control applications where multiple network components request proper timing. Fast synchronization of all device clocks is required through networks, with preferably, a deviation of less than a few hundred microseconds. At initialization, devices start their clocks when prompted and therefore their times differ from one another. The desire is for all initializations to occur as close to simultaneous as possible. When timing is not concurrent between multiple industrial control devices on the same network, real time data exchange quality of service suffers.
Motor control, drives, robots, factory automation, and electrical distribution are just a few of the potential applications for industrial controls linked with Ethernet. Minimizing the timing differences between industrial control device clocks is much more important than in most Ethernet applications and therefore is a desired goal.